//package com.ynet.h2.db;
//
//import java.io.BufferedInputStream;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileNotFoundException;
//import java.io.InputStream;
//import java.sql.Connection;
//import java.sql.SQLException;
//import java.util.Properties;
//
//import org.h2.jdbcx.JdbcConnectionPool;
//
///**
// * DBConnectionPool.java 功能:测试H2提供的JDBC连接池
// * 
// * @author boonya
// * @version 1.0 2013-03-11
// */
//public class DBConnectionPool {
//
//	// 数据库连接URL，当前连接的是E:/H2目录下的gacl数据库   MVCC=TRUE为取消文件锁，允许同时有多个程序访问该数据库。
//	private static String url = "jdbc:h2:d:/h2/test;MVCC=TRUE;AUTO_SERVER=TRUE;";//AUTO_RECONNECT=TRUE;";
//	// 连接数据库时使用的用户名
//	private static String user = "gacl";
//	// 连接数据库时使用的密码
//	private static String password = "123";
////	// 连接H2数据库时使用的驱动类，org.h2.Driver这个类是由H2数据库自己提供的，在H2数据库的jar包中可以找到
////	private static String DRIVER_CLASS = "org.h2.Driver";
//	
//	private static JdbcConnectionPool pool = null;
//	
//	private JdbcConnectionPool getPool(){
//		
//		if(pool != null){
//			return pool;
//		}
//		
//		Properties p =null;
//		try {
//			InputStream inputStream = getClass().getClassLoader().getResourceAsStream("config.properties");
//			p = new Properties();
//			p.load(inputStream);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//
//		url = p.getProperty("jdbc.url");
//		user = p.getProperty("jdbc.user");
//		password = p.getProperty("jdbc.password");
//
//		pool = JdbcConnectionPool.create(url, user, password);
//		
//		pool.setLoginTimeout(10000);// 建立连接超时时间
//		pool.setMaxConnections(100);// 建立连接最大个数
//		return pool;
//	}
//
//	
//	public static JdbcConnectionPool getJDBCConnectionPool() {
//		return new DBConnectionPool().getPool();
//	}
//
//	public static Connection getConnection() {
//		try {
//			getJDBCConnectionPool();
//			return pool.getConnection();
//		} catch (SQLException e) {
//			System.out.println("DBConnectionPool create connection is failed:");
//			e.printStackTrace();
//		} finally {
////			pool.dispose(); // 释放空闲连接
//		}
//		return null;
//	}
//
//	public static void main(String[] args) {
//		System.out.println("Timeout :" + DBConnectionPool.getJDBCConnectionPool().getLoginTimeout() + " ,connection count:" + DBConnectionPool.getJDBCConnectionPool().getMaxConnections());
//		System.out.println(DBConnectionPool.getConnection());
//	}
//
//}
